#!/bin/bash

# Slackware build script for mads

# Written by B. Watson (urchlay@slackware.uk)

# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.

# 20230103 bkw: update for v2.1.5.
# 20210903 bkw: update for v2.1.3.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=mads
VERSION=${VERSION:-2.1.5}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

set -e

SRCNAM=Mad-Assembler

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $SRCNAM-$VERSION
tar xvf $CWD/$SRCNAM-$VERSION.tar.gz
cd $SRCNAM-$VERSION

# upstream's permissions are still horrid, even after all this time...
find . -iname \*.exe -print0 | xargs -0 rm -f
find . -type f -print0 | xargs -0 chmod 644
find . -type d -print0 | xargs -0 chmod 755
chown -R root:root .

# Build & install the binary.
fpc -Mdelphi -vh -O3 $PRGNAM.pas
mkdir -p $PKG/usr/bin
install -s -m0755 $PRGNAM $PKG/usr/bin

# Install the syntax highlighting for vim and scite. The other editors
# aren't on SBo (some are Windows-only anyway).
mkdir -p $PKG/usr/share/scite $PKG/usr/share/vim/vimfiles
install -m0644 "syntax/SciTE 1.71/$PRGNAM.properties" $PKG/usr/share/scite
cp -a syntax/vim-mads-master/ftdetect/ syntax/vim-mads-master/syntax/ \
      $PKG/usr/share/vim/vimfiles
cp -a syntax/vim-mads-master/LICENSE \
      $PKG/usr/share/vim/vimfiles/mads.vim.LICENSE

PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
mkdir -p $PKGDOC
rmdir examples/compression/lz4/pc   # empty dir in 2.1.5
for i in examples readme doc CHANGELOG README.md; do
  [ -e "$i" ] && cp -a "$i" $PKGDOC
done
cat $CWD/README > $PKGDOC/README
cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
